package com.cmc.cloud.cmclink.doc.vo.limitrulevo;

import com.cmes.framework.common.pojo.PageParam;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.Date;

import static com.cmes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * {table.classComment}分页 Request VO
 * 
 * @author codegen
 */
@Schema(description = "管理后台 - 禁接规则分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class LimitRulePageReqVO extends PageParam {

    @Schema(description = "ATD ETD  生效日期类型", example = "1")
    private String effectiveDateType;

    @Schema(description = "适用阶段")
    private String usePeriod;

    @Schema(description = "生效日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date effictiveDate;

    @Schema(description = "失效日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date expiringDate;

    @Schema(description = "规则名称", example = "芋艿")
    private String ruleName;

    @Schema(description = "规则类型", example = "2")
    private String ruleType;

    @Schema(description = "是否启用")
    private Boolean enable;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime createTime;

    @Schema(description = "生效日期开始")
    private String effictiveDateStart;

    @Schema(description = "生效日期结束")
    private String effictiveDateEnd;
}
